package Model;

import java.awt.Color;
import java.awt.Font;
import java.util.ArrayList;

public class SlideContent {
	private String nameSlide_;
	private int numSlide_;
	private Color slideBackgroundColor_;
	private Font slideFont_;
	private Color slideFontColor_;
	
	//Number of elements in the slide
	private int nbElements;
	
	//return true if exists the elements in the slide, either false
	private boolean hasText;
	private boolean hasImage;
	private boolean hasVideo;
	
	//List of elements in the slides
	private ArrayList<ElementSlide> ListElements;
	
	public SlideContent(){
		//Initialization of parameters
		this.setNbElements(0);
		this.setHasImage(false);
		this.setHasText(false);
		this.setHasVideo(false);
		this.setListElements(new ArrayList<ElementSlide>());
		this.setNameSlide("No name");
		this.setSlideBackgroundColor(Color.WHITE);
		this.setSlideFontColor(Color.BLACK);
		this.setSlideFont(new Font("Arial",Font.PLAIN,12));
	}
	
	public SlideContent(String _nameSlide){
		//Initialization of parameters
		this.setNbElements(0);
		this.setHasImage(false);
		this.setHasText(false);
		this.setHasVideo(false);
		this.setListElements(new ArrayList<ElementSlide>());
		this.setNameSlide(_nameSlide);
		this.setSlideBackgroundColor(Color.WHITE);
		this.setSlideFontColor(Color.BLACK);
		this.setSlideFont(new Font("Arial",Font.PLAIN,12));
	}
	
	/**
	 * @return the listElements
	 */
	public ArrayList<ElementSlide> getListElements() {
		return ListElements;
	}
	/**
	 * @param listElements the listElements to set
	 */
	public void setListElements(ArrayList<ElementSlide> listElements) {
		ListElements = listElements;
	}
	/**
	 * @return the nbElements
	 */
	public int getNbElements() {
		return nbElements;
	}
	/**
	 * @param nbElements the nbElements to set
	 */
	public void setNbElements(int nbElements) {
		this.nbElements = nbElements;
	}
	/**
	 * @return the hasText
	 */
	public boolean isHasText() {
		return hasText;
	}
	/**
	 * @param hasText the hasText to set
	 */
	public void setHasText(boolean hasText) {
		this.hasText = hasText;
	}
	/**
	 * @return the hasImage
	 */
	public boolean isHasImage() {
		return hasImage;
	}
	/**
	 * @param hasImage the hasImage to set
	 */
	public void setHasImage(boolean hasImage) {
		this.hasImage = hasImage;
	}
	/**
	 * @return the hasVideo
	 */
	public boolean isHasVideo() {
		return hasVideo;
	}
	/**
	 * @param hasVideo the hasVideo to set
	 */
	public void setHasVideo(boolean hasVideo) {
		this.hasVideo = hasVideo;
	}

	/**
	 * @return the nameSlide
	 */
	public String getNameSlide() {
		return nameSlide_;
	}

	/**
	 * @param nameSlide the nameSlide to set
	 */
	public void setNameSlide(String nameSlide) {
		this.nameSlide_ = nameSlide;
	}

	public int getNumSlide() {
		return numSlide_;
	}

	public void setNumSlide(int numSlide) {
		this.numSlide_ = numSlide;
	}
	
	public Color getSlideBackgroundColor(){
		return slideBackgroundColor_;
	}	
	
	public void setSlideBackgroundColor(Color color){
		this.slideBackgroundColor_ = color;
	}	
	
	public Font getSlideFont(){
		return slideFont_;
	}
	
	public void setSlideFont(Font font){
		this.slideFont_ = font;
	}
	
	public Color getSlideFontColor(){
		return slideFontColor_;
	}
	
	public void setSlideFontColor(Color color){
		this.slideFontColor_ = color;
	}	

}
